Php preg_替换以在IMG标记中提出正斜杠

Php preg_替换以在IMG标记中提出正斜杠,php,html,regex,preg-replace,Php,Html,Regex,Preg Replace,我有以下代码,但它将每个img标记替换为: 应该变成这样: 以下是我当前的非工作代码: $html=preg\u replace/]+\>/i$html; 在正则表达式中的属性周围添加括号,然后可以在替换项中使用$1: $html = preg_replace("/<img([^>]+)\>/i", "<img $1 />", $html); 另请参见此图。在regex中的属性周围添加括号,然后您可以在replacer中使用$1: $html = preg_r

我有以下代码,但它将每个img标记替换为:

应该变成这样:

以下是我当前的非工作代码: $html=preg\u replace/]+\>/i$html;

在正则表达式中的属性周围添加括号,然后可以在替换项中使用$1:

$html = preg_replace("/<img([^>]+)\>/i", "<img $1 />", $html);

另请参见此图。

在regex中的属性周围添加括号,然后您可以在replacer中使用$1:

$html = preg_replace("/<img([^>]+)\>/i", "<img $1 />", $html);
另请参见此图。

如果您想使用$1,首先需要在其中存储一些东西。这是由一个捕获组完成的,这意味着只需在要重用的模式周围放上括号

$html = preg_replace("/<img([^>]+)\>/i", "<img $1 />", $html);
有几个在线工具,你可以测试你的正则表达式,看看你的正则表达式

如果您想使用$1,首先需要在其中存储一些东西,您可以找到有关组的更多信息。这是由一个捕获组完成的,这意味着只需在要重用的模式周围放上括号

$html = preg_replace("/<img([^>]+)\>/i", "<img $1 />", $html);
有几个在线工具,你可以测试你的正则表达式,看看你的正则表达式


您可以找到有关组的更多信息

此正则表达式可能适用于您,但如果重复应用,它将一次又一次地插入/,从而导致等等:

$html = preg_replace("/<img([^>]+)\>/is", "<img \1 />", $html);
要避免这种情况,您可以使用?:


它只匹配图像标记,这些标记不是用/>

关闭的。此正则表达式可能适用于您,但如果重复应用,它将一次又一次地插入/,从而导致等等:

$html = preg_replace("/<img([^>]+)\>/is", "<img \1 />", $html);
要避免这种情况,您可以使用?:


它只匹配图像标签,这些标签不是用/>

关闭的欢迎使用stackoverflow!这个网站应该帮助其他人学习和理解。。使用“负面回顾”是个好主意,我发布了相同的答案。但你应该在答案中加入一些解释和/或链接。尽管如此,+1用于思考负面回顾。欢迎使用stackoverflow!这个网站应该帮助其他人学习和理解。。使用“负面回顾”是个好主意,我发布了相同的答案。但你应该在答案中加入一些解释和/或链接。尽管如此,+1用于考虑负面查找。要有效,图像标记必须具有alt属性。因此,至少需要一个字符,+而不是*。src也是必需的。但是一个随机字符是不够的。如果您希望这个正则表达式只更改有效的图像标记,那么对src和alt进行前瞻可以达到这个目的。但我猜在这个用例中验证是过分的。要有效,图像标签必须有alt属性。因此,至少需要一个字符,+而不是*。src也是必需的。但是一个随机字符是不够的。如果您希望这个正则表达式只更改有效的图像标记,那么对src和alt进行前瞻可以达到这个目的。但我猜在这个用例中验证是过分的。