Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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_Tags_Html Parsing_Preg Match - Fatal编程技术网

Php 如何去掉所有html标记?我们可以分开保存吗?

Php 如何去掉所有html标记?我们可以分开保存吗?,php,regex,tags,html-parsing,preg-match,Php,Regex,Tags,Html Parsing,Preg Match,为了逐句翻译,我想去掉文本中的任何html标记 我尝试使用preg_match返回一系列不同的句子,但并没有成功。。 没有运气 是否可以将标记存储在某个位置,以便稍后在代码中重新插入?一旦文本被翻译了 目前我有: public function translate($text) { $bool = preg_match('/(<[^>]+)/i', $text, $strings_to_translate); //untested // Ruan Regex /(&

为了逐句翻译,我想去掉文本中的任何html标记

我尝试使用preg_match返回一系列不同的句子,但并没有成功。。 没有运气

是否可以将标记存储在某个位置,以便稍后在代码中重新插入?一旦文本被翻译了

目前我有:

public function translate($text) {

    $bool = preg_match('/(<[^>]+)/i', $text, $strings_to_translate); //untested
    // Ruan Regex /(<p(>|\s+[^>]*>).*?<\/p>)/i
    //Ideally strip dupes from this before looping

    var_dump($strings_to_translate);

    foreach($strings_to_translate as $to_translate) {

        echo $to_translate;
    }
    return TRUE;
}
公共函数翻译($text){
$bool=preg_match('/(]+)/i',$text,$strings_to_translate);//未测试
//阮正则表达式/(|\s+[^>]*>).*?/i
//理想情况下,在循环之前,从中剥离重复
变量转储($strings\u to\u translate);
foreach($strings\u to\u翻译为$to\u翻译){
echo$to_翻译;
}
返回TRUE;
}

谢谢您可以简单地使用
split(“\n”,strip\u tags($text))
按行获取数据数组(或者用
替换
“\n”
”不要使用正则表达式来解析HTML。考虑使用它,它将解析你的内容到一个适当的DOM结构。你想使用DOM解析器,翻译那些和/或,如果你想逐句翻译(例如没有破坏HTML元素的风险)。,使用
strip_标记
,然后用
str_替换原始html中的句子。我正在处理它,你能举一个例子说明如何将翻译后的文本重新插入DOM吗?那么你如何将翻译后的文本重新放入剥离的标记中呢?什么是==>“typo-删除了