Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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 从HTML标记中删除空格_Php_Regex_Expression - Fatal编程技术网

Php 从HTML标记中删除空格

Php 从HTML标记中删除空格,php,regex,expression,Php,Regex,Expression,我正在使用谷歌翻译API。我正在发送html字符串。翻译很好,但是标签被弄乱了 例如: <b>Hello World</b> 你好,世界 变成 <b>Hello World</ b> 你好,世界 有时返回的标记如下: <b>Hello World< / b > Hello World 我在PHP方面的努力(不起作用) preg_replace(“~~is”,“'.$string”); 试试: preg_repla

我正在使用谷歌翻译API。我正在发送html字符串。翻译很好,但是标签被弄乱了

例如:

<b>Hello World</b>
你好,世界
变成

<b>Hello World</ b>
你好,世界
有时返回的标记如下:

<b>Hello World< / b >
Hello World
我在PHP方面的努力(不起作用)

preg_replace(“~~is”,“'.$string”);
试试:

preg_replace('/','$string);
现场演示:

您可以使用:

$string = preg_replace(',<\s*/\s*(\w+)\s*>,s', '</$1>', $string);
$string=preg_replace(“,”s“,”$string);

请注意,正则表达式将解决这个问题。但只针对标记中的空格进行保护。不会保护您避免进一步的HTML问题


这将只在目前为止起作用,但是您可以尝试一个HTML解析器,它可以处理一些无效的HTML。然后你就可以从库中清除HTML了。

你为什么在意?这是有效的HTML。@MadaraUchiha,没有
无效。@FlipBooth,不客气。在这里,你可以通过投票按钮来表达谢意只是想让你知道,谷歌可能会随时改变他们的API响应,使你的“修复”毫无用处。您没有用正则表达式解决方案解决根本问题。
$string = preg_replace(',<\s*/\s*(\w+)\s*>,s', '</$1>', $string);