Regex PHP remove certain keyword
852
After viewing some answers on stackoverflow,
preg_match_all('/<img[^>]+>/i',$html, $result);
$img = array();
foreach( $result[0] as $img_tag)
{
preg_match_all('/(title)=("[^"]*")/i',$img_tag, $img[$img_tag]);
}
//print_r($img);
foreach ($img as $imgg)
echo $imgg[2][0];
The above code finds img title, but however it return as"Waterfall fountain"
instead ofWaterfall fountain
, notice there is"
what should i add in regex to remove"
?
Thank you
Answer
Solution:
Just move the
"
out of the capturing group:Answer
Solution:
move the quotes outside of your brackets
Answer
Solution:
Use an XML Parser and this XPath to get all titles of img elements:
Example with DOM
Further readings:
Answer
Solution:
Move the quotes outside of your brackets.
Check this :
Answer
Solution:
Currently you are making the
"
part of the match that is remembered. You can put the quotes outside the parenthesis:Answer
Solution:
Parentheses in a regular expression make a capturing group, which control what get stored in
$img[$img_tag]
. Your group included the quotes:("[^"]*")
. If you don't want the quotes, just move them outside the group:"([^"]*)"