dongpangbu4016 2017-05-31 19:07
浏览 101
已采纳

在括号内提取文本的最佳方法 - PHP解析

What's the best way to get text from a string. I have a LONGTEXT field in the db and currently is:

<ul>
 <li>Winner on Laps #153 LemonAid Racing (1996 Geo Metro, Davenport Iowa)</li>
 <li>Winner on Index of Effluency #42 J CrewD (1985 Jagaur XJ6, Knoxville Tn)     </li>
 <li>Winner, Class A (The Good) #153 LemonAid Racing (1996 Geo Metro, Davenport Iowa)</li>
 <li>Winner, Class B (The Bad) #128 Duff Beer (1994 Honda Civic, Raleigh NC and Atlanta GA)</li>
 <li>Winner, Class C (The Ugly) #64 Team Fairlylame (1964 Ford Fairlane, Savannah GA)</li>
 <li>Organizer's Choice #54 Knoxvegas Lowballers (1998 Ford Contour SVT, Knoxville TN)</li>
 <li>Most Heroic Fix #40 Mock Grass Racing (1998 Kia Sephia, Columbia SC)</li>
 <li>Judges' Choice #85 Apocalyptic Racing (1978 Toylet Celica, St Louis mo)     </li>
 <li>Judges' Choice #2 #17 Fireball Racing (1991 Ford Escort, Aurora IL)</li>
</ul>

1 Say I wanted to get the strings "1996 Geo Metro, Davenport Iowa", "1985 Jagaur XJ6, Knoxville Tn".. etc... from the entire string (the text inside the parenthesis).What is the best way to do so?

  1. Say I wanted to get all the text in the 'li' up to the symbol "#", is that possible?

Thanks in advance

  • 写回答

2条回答 默认 最新

  • douzhu3654 2017-05-31 19:24
    关注

    You can try using Regular Expressions.

    For example, to find (the text inside the parenthesis) you can use the following regex:

    /(?<=\()([^\)]+)(?=\))/
    

    and to get all the text in the 'li' up to the symbol "#" you can use:

    /(?<=<li>).*(?=#)/
    

    Perform a regular expression match on PHP

    Awesome regex resource!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • dongmozhui3805 2017-05-31 19:26
    关注

    Use preg_match_all

    1. preg_match_all('/\(([^\)]+)\)/', $content, $matches);
    2. preg_match_all('/^[\s]*\<li\>([^#]+)#/m', $content, $matches);

    $matches[1] will contain your captured text.

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 C语言字符串不区分大小写字典排序相关问题
  • ¥15 关于#python#的问题:我希望通过逆向技术爬取1688搜索页下滑加载的数据
  • ¥15 学习C++过程中遇到的问题
  • ¥15 关于Linux的终端里,模拟实现一个带口令保护的屏保程序遇到的输入输出的问题!(语言-c语言)
  • ¥15 学习C++过程中遇到的问题
  • ¥15 请问,这个嵌入式Linux系统怎么分析,crc检验区域在哪
  • ¥15 二分类改为多分类问题
  • ¥15 Unity微信小游戏上调用ReadPixels()方法报错
  • ¥15 如何通过求后验分布求得样本中属于两种物种其中一种的概率?
  • ¥15 q从常量变成sin函数,怎么改写python代码?