【发布时间】:2016-01-26 08:06:26
【问题描述】:
我有一个带有 HTML 标签的字符串,$paragraph:
$paragraph = '
<p class="instruction">
<sup id="num1" class="s">80</sup>
Hello there and welcome to Stackoverflow! You are welcome indeed.
</p>
';
$replaceIndex = array(0, 4);
$word = 'dingo';
我想替换由$replaceIndex(0 和4)定义的索引处的单词$paragraph。我的意思是我想用$word 替换“80”和“欢迎”(仅是第一个实例)这两个词。段落本身可能在不同位置使用不同的 HTML 标记进行格式化。
有没有办法在几乎忽略(但不剥离)HTML 标记的情况下定位和替换字符串中的某些单词?
谢谢!
编辑:单词由(多个)标签和(多个)空白字符分隔,而不包括标签内的任何内容。
【问题讨论】:
-
是什么让 80 位居第 0 位并在第 4 位受到欢迎?
-
这些(“80”和“welcome”)是否多次出现?如果不是这样,str_replace 应该很容易
-
你能告诉我们这里使用什么标准来选择索引 0 和 4 处的单词,是不是必须在前面有一个空格,然后是一个空格或类似的东西。跨度>
-
@urban:是的,单词可能出现多次。
-
@Hanky웃Panky:单词由(多个)标签或(多个)空白字符分隔,标签内不包含任何内容。 *我认为它们被称为空白字符……空格、换行符、制表符等)