TinyMce - 在最后一个标记的末尾添加句点

时间:2014-04-08 05:09:42

标签: php regex

以下是tinymce的源代码示例。源代码可以包含任何html标记。我的要求是无论来自tinymce的源代码是什么,我需要在html源代码的末尾追加一段时间,我从tinymce获得。仅当源代码中的最后一个字符不是句点或感叹号或问号时,才应附加句点。

<strong>Hello World </strong>

我想在源代码的末尾附加一个句点/点。

我需要的输出是

Hello World

但我在HTML视图中输出

Hello World

注意:我需要在浏览器中打印文本时存在源代码中的HTML标记,这样才不会影响。

如何在PHP之前删除多余的空格?

OR

在我的源代码末尾添加句点。

我的PHP源代码,用于在字符串末尾附加句点

$val = "<strong>Hello World </strong>";
$string_to_replace = array("<br />","&nbsp;","&nbsp; ");
$val = str_replace("\\r\\n",' ', $val );
$val = trim(stripslashes($val));
$val = trim(str_replace($string_to_replace,'', $val ));
$val_without_tag = trim(strip_tags($val));
$val_without_tag = str_replace($string_to_replace,'', $val_without_tag );

$last_val = substr($val_without_tag,-1);
$regularexp = array('.','!','?');
if(!empty($last_val)){

   if(in_Array($last_val, $regularexp)){
        return $val;
    }
    else {
    return $val.". ";
    }
}

1 个答案:

答案 0 :(得分:2)

您可以使用DOM解析器。

<?php

$html='<strong>Hello World </strong>';
$dom = new DOMDocument;
$dom->loadHTML($html);
echo "<strong>".trim($dom->getElementsByTagName('strong')->item(0)->nodeValue).".</strong>";

<强> OUTPUT :

Hello World。

相关问题