我目前正在将Twitter推送到我的网站并在首页上显示内容。 我希望能够做的就是用链接替换任何带有主题标签或Twitter用户名的内容。
我尝试使用preg_replace执行此操作,但我在构建用作替换的链接时遇到问题,因为我不确定如何引用和插入匹配的模式。这是我到目前为止(未完成)。有人能帮助我吗?
谢谢!
<?php
foreach($tweets as $tweet) { ?>
<?php
$pattern = '@([A-Za-z0-9_]+)';
$replacement = "<a href=''>" . . "</a>";
$regex_text = preg_replace($pattern, );
?>
<div class="tweet2">
<img src="images/quotes.png" />
<p><?php echo $tweet[text]; ?></p>
</div>
<?php }
?>
答案 0 :(得分:3)
$regex_text = preg_replace($pattern, $replacement, $input_text);
这是使用preg_replace的正确方法,$input_text
是带有要替换内容的文本的变量。
除此之外:
$pattern="/@([A-Za-z0-9_]+)/"; //can't be sure if this will work w/o an example of a input string.
$replacement= "<a href=''>$1</a>"; //$1 is what you capture between `()` in the pattern.
答案 1 :(得分:1)
使用这些括号,您将定义捕获组。在模式中使用捕获组时,可以按顺序从0到99开始使用\\n
或$n
引用它们。
所以你的替代品将是:
$replacement = "<a href='http://twitter.com/$1'>$1</a>";
如果你有更多的捕获组,你的数字会更高。
查看the manual entry,$replacement
参数以获取更多信息。