Regex PHP删除某些关键字

Regex PHP删除某些关键字,php,regex,Php,Regex,在查看有关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) ech

在查看有关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];
preg_match_all('/]+>/i',$html,$result);
$img=array();
foreach($result[0]作为$img_标记)
{
preg_match_all('/(title)=(“[^”]*”)/i',$img_tag,$img[$img_tag]);
}
//打印(img);
foreach($img作为$imgg)
echo$imgg[2][0];
上面的代码可以找到img标题,但是它返回的是
“瀑布喷泉”
,而不是
瀑布喷泉
,注意这里有

我应该在regex中添加什么来删除


谢谢

将引号移到括号外

preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]); 

将引号移到括号外

preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]); 
只需将
移出捕获组:

'/(title)="([^"]*)"/i'
只需将
移出捕获组:

'/(title)="([^"]*)"/i'

目前,您正在将
作为记忆的匹配的一部分。可以将引号放在括号外:

preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]);

目前,您正在将
作为记忆的匹配项的一部分。您可以将引号放在括号外:

preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]);

正则表达式中的括号构成一个捕获组,它控制存储在
$img[$img\u tag]
中的内容。您的组包括引号:
(“[^”]*”
)。如果不需要引号,只需将它们移到组外:
“([^”]*)”
正则表达式中的括号构成捕获组,它控制存储在
$img[$img_标记]
中的内容。您的组包括引号:
(“[^”]*”
。如果不需要引号,只需将它们移到组外:
“([^”]*)”

将引号移到括号外即可

选中此项:

preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]); 

将引号移到括号外

选中此项:

preg_match_all('/(title)="([^"]*)"/i',$img_tag, $img[$img_tag]); 

使用XML解析器和此XPath获取img元素的所有标题:

//img/@title
以身作则

进一步阅读:


使用XML解析器和此XPath获取img元素的所有标题:

//img/@title
以身作则

进一步阅读:


显然没有足够的答案…主题被打败了。PHP有一个HTML解析器,它比正则表达式做得更好。显然没有足够的答案…主题被打败了。PHP有一个HTML解析器,它比正则表达式做得更好。如果您处理的是没有用引号围绕属性的遗留代码,请使用is:
”/(title)=“?([^“]*)”?/i'
如果引用值不包含空格,它也可以工作如果您处理的是没有用引号围绕属性的遗留代码,请使用此:
”/(title)=“?([^“]*)”?/i'
如果引用值不包含空格,它也可以工作