douye6812 2015-11-28 01:18
浏览 49
已采纳

替换<ul> -tag中的换行符

I have been battling with this for a while, because I guess I am not that awesome at regex. I have a few ul-tags and within those I would like to replace every /n newline with "" (nothing). So, I would like to have this

other lines right here
[ul]
[li]line[/li]
[li]line 1[/li]
[li]line 2[/li]
[/ul]
other lines right here

[ul]
[li]line[/li]
[li]line 1[/li]
[li]line 2[/li]
[/ul]
other lines right here

changed to

other lines right here
[ul][li]line[/li][li]line 1[/li][li]line 2[/li][/ul]
other lines right here

[ul][li]line[/li][li]line 1[/li][li]line 2[/li][/ul]
other lines right here

I only want to get rid of the newlines within the ul-tag. How do I go about this issue I have? Should I pre_match_all every ul tag and then format the matched content the way I would like it to be? Or is there any easier solution with preg_replace that takes care of all the newlines within the tag?

Thanks for the help already!

  • 写回答

1条回答 默认 最新

  • douyangqian5243 2015-11-28 01:38
    关注

    I'd look at it a different way. the [li]s will always be inside a [ul] (well, hopefully!). So you can just match newlines either side of those:

    $string = preg_replace('/\R*(\[\/?li\])\R*/', '$1', $string);

    You could do the same with a couple of str_replaces:

    $string = str_replace("
    [li]", "[li]", $string);
    $string = str_replace("[/li]
    ", "[/li]", $string);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题