Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.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 预匹配不显示任何内容/未知修改器';I';_Php_Html_Preg Match - Fatal编程技术网

Php 预匹配不显示任何内容/未知修改器';I';

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

我有一个关于预赛的问题。 我有一个文本字段,用户可以在其中填写随机文本。但是,当他们键入时:

[IMG]图片url此处[/IMG]

我希望[IMG][IMG]之间的所有内容都放在一个变量中

我现在所拥有的:

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分钟,然后接受:)