【问题标题】:Split a string at ";" with php在“;”处拆分字符串用 php
【发布时间】:2010-10-23 12:13:07
【问题描述】:

我有一个名为$gallery 的字符串,$gallery 是一个图像 URL 列表。图像 URL 由分号 ; 分隔。示例

http://www.website.com/image1.jpg;http://www.website.com/image2.jpg;http://www.website.com/image3.jpg

我想如何使用 preg_split 将其拆分并将每个 url 放置在图像标签中?

谢谢

【问题讨论】:

  • 请注意,用 ';' 分隔 URL是个坏主意,因为分号可以是 URL 的一部分。事实上,原则上任何特殊字符都可以出现在 URL 中,因此如果可以的话,请避免将 URL 完全粘合在一个字符串中。除此之外,是的,explode() 可以正常工作。

标签: php string split preg-split


【解决方案1】:

你不需要 preg_split 。

$urls = explode(';', $string);
foreach ($urls as $url) {
    echo '<img src="'.$url.'" />';
}

【讨论】:

  • echo '&lt;img src="'.htmlspecialchars($url).'" /&gt;';
【解决方案2】:

不需要带有preg_split() 的正则表达式,只需一个简单的无正则表达式explode() 即可,因为它们由分号分隔。

foreach (explode(';', $gallery) as $url) {
    echo '<img src="' . htmlspecialchars($url, ENT_QUOTES) . '" alt="" />';
}

【讨论】:

    【解决方案3】:

    你可以使用 str_replace

    '<img src="' . str_replace(';','" /><img src="',$gallery) . '" />';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多