【发布时间】:2015-07-27 19:48:26
【问题描述】:
在 $variable 我有 html 代码,内容如下:`
<tag>Lots of Text Here - More Phrases Here</tag>.
我希望能够str_replace两个标签之间的字符串
<tag> string </tag>
我希望读取新代码:
<tag><a href="Lots">Lots</a> <a href="of">of</a>
<a href="text">Text</a> <a href="here">Here</a> -
<a href="@morephraseshere">@MorePhrasesHere</a></tag>
我知道一次 str_replace 可能会很多,但是如果您至少可以让“这里有很多文本”成为链接,或者如果您可以让 @MorePhrasesHere 成为链接,那就是惊人的。
或者最接近完整解决方案的方法也很棒。
$variable 中的文本字符串随每个条目而变化。如果您不能在 str_replace 中使用 $variable 的 preg_match 或 str_explode 解决方案,那也将是惊人的。
谢谢!
编辑: 目标是将第一个字符串中的每个单词转换为#hashtag,并将第二个字符串中的每个单词转换为@username。服务器知道如何为这两种类型的链接返回有效响应。
【问题讨论】:
-
是不是每次都是从
开始,最后有 ? -
是的,这两个标签是一致的,里面的文字总是会改变的。两个字符串之间总会有一个“-”:“
string - string2 -
你不能使用
str_replace你不知道里面会是什么。您可以使用preg_replace或preg_match。如果您使用preg_match,则必须在之后使用找到的值构建链接。在您的示例中,text和here是如何关联的? -
嗨,克里斯,感谢您回来。我想我可以 str_replace 用 str_replace (' ',' $1', $var 替换空格,但我意识到这样做有多么复杂。如果你愿意,我会考虑 preg觉得这样更好。再次感谢克里斯,你上次帮了大忙。
-
让我们陈述问题。有一个字符串
blabla bla2 - lololo lo2 。您想在减号之前取第一部分,并将每个单词换行到 标记中。完整的第二部分(减号之后)包含在共同的 标记中。我说的对吗?
标签: php regex preg-match str-replace