dtnrsmi824877 2012-03-25 21:43
浏览 32
已采纳

用PHP中的变量文本替换精确的变量字符串?

I'm working on a replying system similar to twitters.
In a string there is a piece of text where the id is variable ex.: 14& , 138& depending to who you're replying.
How can I find the 14& in a string and replace it with <u>14&</u>?

This is how it looks:

14& this is a reply to the comment with id 14

This is how it should look like:

<u>14&</u> this is a reply to the comment with id 14

How can I do this in PHP? Thanks in advance!

  • 写回答

3条回答 默认 最新

  • duanshanduo3363 2012-03-25 21:47
    关注
    $text = "14& this is a reply to the comment with id 14";
    
    var_dump(preg_replace("~\d+&~", '<u>$0</u>', $text));
    

    outputs:

    string '<u>14&</u> this is a reply to the comment with id 14' (length=52)
    

    To get rid of the &:

    preg_replace("~(\d+)&~", '<u>$1</u>', $text)
    

    outputs:

    string '<u>14</u> this is a reply to the comment with id 14' (length=51)
    

    $0 or $1 will be the your id. You can replace the markup with anything you like.

    for instance a link:

    $text = "14& is a reply to the comment with id 14";
    
    var_dump(preg_replace("~(\d+)&~", '<a href="#comment$1">this</a>', $text));
    

    outputs:

    string '<a href="#comment14">this</a> is a reply to the comment with id 14' (length=66)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟