Q:

What does the "~" character signify in PHP regex? 

What does the "~" character mean in the following?: 
preg_match_all("~<img [^>]+>~", $inputw, $output);

My guess is that they are beginning and end markers such as ^ and $.  

A:

It is a delimiter
A delimiter can be any non-alphanumeric, non-backslash, non-whitespace character.  

A:

As Nambi said you are free to choose the delimiter in a regex.  However if the delimiter appears in the pattern it has to escaped.  Knowing this, imagine the following situation
'/\/var\/www\/test/' # delimited with /
'~/var/www/test~' # delimited with ~

The last one does not require to escape the / as the delimiter is now ~. Much cleaner isn't it?  
As a general guideline you are encouraged to choose a delimiter which isn't pattern of the pattern itself, I guess ~ is widely distributed as an alternative to / as it rarely appears in real world pattern.