Php 预匹配不显示任何内容/未知修改器';I';
我有一个关于预赛的问题。 我有一个文本字段,用户可以在其中填写随机文本。但是,当他们键入时: [IMG]图片url此处[/IMG] 我希望[IMG][IMG]之间的所有内容都放在一个变量中 我现在所拥有的:Php 预匹配不显示任何内容/未知修改器';I';,php,html,preg-match,Php,Html,Preg Match,我有一个关于预赛的问题。 我有一个文本字段,用户可以在其中填写随机文本。但是,当他们键入时: [IMG]图片url此处[/IMG] 我希望[IMG][IMG]之间的所有内容都放在一个变量中 我现在所拥有的: if(isset($_POST['edit_signature_table'])){ $string = $_POST['thread_message']; echo $string; if (preg_match('/[IMG](.*?)[/IMG]/', $st
if(isset($_POST['edit_signature_table'])){
$string = $_POST['thread_message'];
echo $string;
if (preg_match('/[IMG](.*?)[/IMG]/', $string, $display)) {
print_r($display);
}else{
echo "[IMG][/IMG] was not used.";
}
}
当我在表单中发布内容并按submit时。我得到了我刚刚填写的结果。(由echo$string完成)
但是。我总是得到这样的结果:
This is typed in the textfield. and contains [IMG]an image[/IMG]
Warning: preg_match(): Unknown modifier 'I' in C:\xampp\htdocs\Proeven\Forum\profile.php on line 124
[IMG][/IMG] was not used.
如你所见。第一行是$string的me结果
然后我得到一个错误(行位于if(preg_match))
然后转到else语句
但是在我的结果中,您可以看到我使用了[IMG][/IMG],我希望结果是:一个图像
有人能告诉我我做错了什么吗
编辑:
人们拒绝投票,说这是重复的
我看了别人的问题,但仍然不知道如何解决我的问题
人们反对投票。请告诉我为什么。。。我认为这个问题已经很清楚了。为了让正则表达式工作,你需要逃离正则表达式
preg_match('/[IMG](.*?[/IMG]/',$string,$display)
变成
preg\u匹配('/\[IMG\](.*?\[\/IMG\]/',$string,$display)
您也可以在这里轻松地在不同的输入上尝试您的正则表达式:转义
[
和/
->\[
,\/IMG
-'/\[IMG](.*?)\[\/IMG]/“
可能是重复的,但看到了这一点,仍然不知道该怎么办:/还有人投了反对票。请告诉我为什么。我想解释得很清楚。是的,我看了其他问题并搜索了互联网。但仍然不知道该怎么办。很清楚该怎么办:转义用作重新命名的特殊字符和模式字符gex分隔符。由于这是我第一次使用pregmatch,我不知道这一点。还有很多问题被标记为重复。将来没有人能够提出问题,因为所有问题都已经被问过了。即使有些人(像我一样)即使看到另一个答案也不知道该怎么办。很少但不公平或没有?这对我来说是真的..真不敢相信这是哈哈,但从来没有想过这就是这个社区的意义:)如果这个答案对你有效,请也接受它。需要等待6分钟,然后接受:)