Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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/3/html/78.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_Html_Split - Fatal编程技术网

Php 计数字符时忽略html标记中的字符

Php 计数字符时忽略html标记中的字符,php,html,split,Php,Html,Split,在我当前的模板中,我有一大块来自用户的文本。然后在600个字符处拆分块,并将其放入页面上的特定div中,块的其余部分放置在页面底部附近。这很好,但是当在文章的开头添加了很多链接时,就会出现问题 正在计入字符总数。我总是想在六百分之一分一个街区 有没有一个简单的方法让我找出html字符的长度?这样我就可以将它们添加到拆分长度中。还有其他想法吗?完全忽略html字符的方法 编辑: 我应该很清楚,我希望链接保持不变…使用PHP函数,然后计算字符数。使用PHP函数,然后计算字符数。您可以删除所有HTML

在我当前的模板中,我有一大块来自用户的文本。然后在600个字符处拆分块,并将其放入页面上的特定div中,块的其余部分放置在页面底部附近。这很好,但是当在文章的开头添加了很多链接时,就会出现问题

正在计入字符总数。我总是想在六百分之一分一个街区

有没有一个简单的方法让我找出html字符的长度?这样我就可以将它们添加到拆分长度中。还有其他想法吗?完全忽略html字符的方法

编辑:
我应该很清楚,我希望链接保持不变…

使用PHP函数,然后计算字符数。

使用PHP函数,然后计算字符数。

您可以删除所有HTML代码,并按精确的数字拆分文本。为此,请使用:

string strip_tags ( string $str [, string $allowable_tags ] )
此函数尝试返回包含所有NUL字节、HTML和 从给定str剥离的PHP标记。它使用相同的标记剥离 将状态机设置为fgetss()函数


有关详细信息,请参阅。

您可以删除所有HTML代码,并按精确的计数拆分文本。为此,请使用:

string strip_tags ( string $str [, string $allowable_tags ] )
此函数尝试返回包含所有NUL字节、HTML和 从给定str剥离的PHP标记。它使用相同的标记剥离 将状态机设置为fgetss()函数


有关更多信息,请参阅。

如果文本包含HTML,则需要HTML解析器对其进行拆分,否则可能会得到不平衡的标记。你也可以隐藏N像素以下的所有东西,而不是分割,这要容易得多。这不是小事。在这里,正则表达式和HTML解析器对您都没有多大帮助。如果我自己尝试这样做,我可能会
strip_tags
首先检查是否有600多个字符,然后逐个字符遍历原始字符串,跟踪我是否可计数(或在标记中),以及哪些标记是“打开的”(这样我可以在拆分后关闭它们)。如果文本包含HTML,你需要一个HTML解析器来拆分它,否则你会得到不平衡的标签。你也可以隐藏N像素以下的所有东西,而不是分割,这要容易得多。这不是小事。在这里,正则表达式和HTML解析器对您都没有多大帮助。如果我自己尝试这样做,我可能会
strip_tags
首先检查是否有600多个字符,然后逐个字符遍历原始字符串,跟踪我是否可计数(或在标记中),以及哪些标记是“打开的”(这样我可以在拆分后关闭它们)。然后继续走,直到你数到600个可数项。我在我的文本块上使用了
strip_标记
,现在我的长度是正确的,但我的所有链接都消失了。我在我的文本块上使用了
strip_标记
,现在我的长度是正确的,但我的所有链接都消失了。好吧,我有一个
$txt
变量,其中包含整个字符串(超过600个字符。几个段落)我只是在每次600个字符后拆分它,而不管里面的内容是什么…所以只要在我的变量中添加
strip\u tags()
就可以正确地拆分它,但删除链接…好吧,然后查看strip\u tags()的文档根据Adeine的回答,您可以将锚定标记作为第二个参数传入。然后根据您的规范应用于锚定标记。我有一个
$txt
变量,其中包含整个字符串(超过600个字符。几个段落)我只是每次在600个字符后拆分它,而不管里面的内容是什么……所以只要在我的变量中添加
strip\u tags()
就可以正确地拆分它,但会删除链接……好吧,然后看看strip\u tags()的文档根据Adeine的回答,您可以将锚定标记作为第二个参数传入,然后根据您的规范应用于锚定标记。