Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 使用preg_Replace替换alt attriute?_Php_Regex - Fatal编程技术网

Php 使用preg_Replace替换alt attriute?

Php 使用preg_Replace替换alt attriute?,php,regex,Php,Regex,我想使用preg_replace删除alt属性。下面是alt属性的模式 alt="Screen Shot 2015-06-09 at 11.37.40 AM" 或者可能是这样 alt="The Postmates sign outside the office" 引号中可以有任何字符。我使用了以下表达式: $html = preg_replace('/alt="\w+\s\w+"/', '><br>', $html); 这里合适的表达式是什么?我不确定PHP中的regex

我想使用preg_replace删除alt属性。下面是alt属性的模式

alt="Screen Shot 2015-06-09 at 11.37.40 AM"
或者可能是这样

alt="The Postmates sign outside the office"
引号中可以有任何字符。我使用了以下表达式:

$html = preg_replace('/alt="\w+\s\w+"/', '><br>', $html);

这里合适的表达式是什么?

我不确定PHP中的regexp有什么不同,但请尝试以下表达式:

$html = preg_replace('~alt\s*=\s*"([^"]*)"~', '><br>', $html);
$html=preg_replace(“~alt\s*=\s*”([^“]*)“~”,“>
”,$html);
开始时,我们使用了alt,这是一个纯文本。
然后\s*表示“零个或多个空格”。这是为了处理类似
alt=“something”

=表示简单的等号。
\s*请再说一遍。

([^“]*)表示“除引号外的任何符号。

我不确定PHP中的regexp有何区别,但请尝试以下方法:

$html = preg_replace('~alt\s*=\s*"([^"]*)"~', '><br>', $html);
$html=preg_replace(“~alt\s*=\s*”([^“]*)“~”,“>
”,$html);
开始时,我们使用了alt,这是一个纯文本。
然后\s*表示“零个或多个空格”。这样做是为了处理像
alt=“something”
这样的代码
=表示简单的等号。
\s*请再说一遍。

([^“]*)表示“除引号外的任何符号。

我不确定PHP中的regexp有何区别,但请尝试以下方法:

$html = preg_replace('~alt\s*=\s*"([^"]*)"~', '><br>', $html);
$html=preg_replace(“~alt\s*=\s*”([^“]*)“~”,“>
”,$html);
开始时,我们使用了alt,这是一个纯文本。
然后\s*表示“零个或多个空格”。这是为了处理类似
alt=“something”

=表示简单的等号。
\s*请再说一遍。

([^“]*)表示“除引号外的任何符号。

我不确定PHP中的regexp有何区别,但请尝试以下方法:

$html = preg_replace('~alt\s*=\s*"([^"]*)"~', '><br>', $html);
$html=preg_replace(“~alt\s*=\s*”([^“]*)“~”,“>
”,$html);
开始时,我们使用了alt,这是一个纯文本。
然后\s*表示“零个或多个空格”。这样做是为了处理像
alt=“something”
这样的代码
=表示简单的等号。
\s*请再说一遍。

([^“]*)表示“除引号外的任何符号。

应该由
*?
来完成

$html = preg_replace('/alt=".*?"/', '<br>', $html);

/\
用于转义正斜杠,因为正斜杠是分隔符。正斜杠后面的
是因为它是可选的。
\s*
是零个或多个空格。它们可能位于可选的正斜杠的任意一边,这就是为什么我们有这两个选项。

应该由
*?
来完成

$html = preg_replace('/alt=".*?"/', '<br>', $html);

/\
用于转义正斜杠,因为正斜杠是分隔符。正斜杠后面的
是因为它是可选的。
\s*
是零个或多个空格。它们可能位于可选的正斜杠的任意一边,这就是为什么我们有这两个选项。

应该由
*?
来完成

$html = preg_replace('/alt=".*?"/', '<br>', $html);

/\
用于转义正斜杠,因为正斜杠是分隔符。正斜杠后面的
是因为它是可选的。
\s*
是零个或多个空格。它们可能位于可选的正斜杠的任意一边,这就是为什么我们有这两个选项。

应该由
*?
来完成

$html = preg_replace('/alt=".*?"/', '<br>', $html);


/\
用于转义正斜杠,因为正斜杠是分隔符。正斜杠后面的
是因为它是可选的。
\s*
是零个或多个空格。它们可能位于可选的正斜杠的任意一边,这就是为什么我们都有正斜杠。

能否请您提供一个解释,以便我将来自己编写这些表达式?在PHP中,正则表达式需要分隔符
'alt\s*=\s*([^“]*)”
应该是
'~alt\s*=\s*([^“]*)”~'
@哦,谢谢。我只是从来没有在PHP中使用过正则表达式:)请您提供一个解释,以便我将来自己编写这些表达式。在PHP中,正则表达式需要分隔符
'alt\s*=\s*([^“]*)”
应该是
'~alt\s*=\s*([^“]*)”~'
@哦,谢谢。我只是从来没有在PHP中使用过正则表达式:)请您提供一个解释,以便我将来自己编写这些表达式。在PHP中,正则表达式需要分隔符
'alt\s*=\s*([^“]*)”
应该是
'~alt\s*=\s*([^“]*)”~'
@哦,谢谢。我只是从来没有在PHP中使用过正则表达式:)请您提供一个解释,以便我将来自己编写这些表达式。在PHP中,正则表达式需要分隔符
'alt\s*=\s*([^“]*)”
应该是
'~alt\s*=\s*([^“]*)”~'
@哦,谢谢。我只是从来没有在PHP中使用过正则表达式:)我忘了放结束标记。谢谢你的回答。是的,alt始终是最后一个属性。你能给我提供一个链接到任何我可以了解更多关于regex的书或教程吗?提供的链接以及更新的regex。您可能还想研究HTML/XML解析器。还有其他问题吗?没有其他问题。您的解释很好。我还喜欢rexegg的网站:)我忘了贴收尾标签。谢谢你的回答。是的,alt始终是最后一个属性。你能给我提供一个链接到任何我可以了解更多关于regex的书或教程吗?提供的链接以及更新的regex。您可能还想研究HTML/XML解析器。还有其他问题吗?没有其他问题。您的解释很好。我还喜欢rexegg的网站:)我忘了贴收尾标签。谢谢你的回答。是的,alt始终是最后一个属性。你能给我提供一个链接到任何我可以了解更多关于regex的书或教程吗?提供的链接以及更新的regex。您可能还想研究HTML/XML解析器。还有其他问题吗?没有其他问题。您的解释是p