Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 帮助使用正则表达式?_Php_Regex - Fatal编程技术网

Php 帮助使用正则表达式?

Php 帮助使用正则表达式?,php,regex,Php,Regex,我正在尝试使用preg_replace来过滤成员评论。筛选脚本和img标记。如果src来自我的站点,允许它带有标签,如果来自另一个站点,只显示src 正则表达式: <(\w+).+src=[\x22|'](?![^\x22']+mysite\.com[^\x22']+)([^\x22']+)[\x22|'].*>(?:</\1>)? 评论: Hi look at this! <img src="http://www.mysite.com/blah/blah/i

我正在尝试使用preg_replace来过滤成员评论。筛选脚本和img标记。如果src来自我的站点,允许它带有标签,如果来自另一个站点,只显示src

正则表达式:

  <(\w+).+src=[\x22|'](?![^\x22']+mysite\.com[^\x22']+)([^\x22']+)[\x22|'].*>(?:</\1>)?
评论:

Hi look at this!
<img src="http://www.mysite.com/blah/blah/image.jpg"></img>
<img src="http://mysite.com/blah/blah/image.jpg"></img>
<img src="http://subdomain.mysite.com/blah/blah/image.jpg"/>
<img src="http://www.mysite.fakesite.com/blah/blah/image.jpg"></img>
<img src="http://www.fakesite.com/blah/blah/image.jpg"></img>
<img src="http://fakesite.com/blah/blah/image.jpg"></img>
Which one is your favorite?
嗨,看看这个!
你最喜欢哪一个?
想要的结果:

 Hi look at this!
<img src="http://www.mysite.com/blah/blah/image.jpg"></img>
<img src="http://mysite.com/blah/blah/image.jpg"></img>
<img src="http://subdomain.mysite.com/blah/blah/image.jpg"/>
http://www.mysite.fakesite.com/blah/blah/image.jpg   (notice that it's just url, because it's not from my site)
http://www.fakesite.com/blah/blah/image.jpg
http://fakesite.com/blah/blah/image.jpg
Which one is your favorite?
嗨,看看这个!
http://www.mysite.fakesite.com/blah/blah/image.jpg   (请注意,这只是url,因为它不是来自我的网站)
http://www.fakesite.com/blah/blah/image.jpg
http://fakesite.com/blah/blah/image.jpg
你最喜欢哪一个?

有人看到什么错误吗?

我能看到的最大错误是试图使用正则表达式修改HTML

你应该使用


我能看到的最大的错误是试图使用正则表达式修改HTML

你应该使用

我正在尝试使用preg_replace来过滤成员评论。筛选脚本和img标记

将是实现此目的的最佳工具,尽管您希望获得可接受标记和属性的白名单,而不是特定有害标记的黑名单

我正在尝试使用preg_replace来过滤成员评论。筛选脚本和img标记

是实现这一目的的最佳工具,尽管您需要的是可接受标签和属性的白名单,而不是特定有害标签的黑名单。

您应该使用im模式

#<(\w+).+src=[\x22|'](?![^\x22']+mysite\.com[^\x22']+)([^\x22']+)[\x22|'].*>(?:</\1>)?#im
#你应该使用即时通讯模式

#<(\w+).+src=[\x22|'](?![^\x22']+mysite\.com[^\x22']+)([^\x22']+)[\x22|'].*>(?:</\1>)?#im

#+1您肯定希望使用现有的库;HTML清理是一项貌似复杂的任务(如果您不确信,则有)。这将深入研究一些风险,并比较一些可用的工具。+1您肯定希望使用现有的库;HTML清理是一项貌似复杂的任务(如果您不确信,则有)。这将深入探讨一些风险,并对现有的一些工具进行比较。
#<(\w+).+src=[\x22|'](?![^\x22']+mysite\.com[^\x22']+)([^\x22']+)[\x22|'].*>(?:</\1>)?#im