我对此没什么问题,我是初学者,我需要帮助,如何用 php 分割字符串。我有这段代码,只有在字符串中有一个分隔符时才能正常工作,但我需要完全控制分割的内容和方式。这是来自 yootheme warp modules.php 的少量修改代码。我在字符串 ' ||
' 或 ' #|
' 或 " |#
" 中有 3 个分隔符,它们可能在字符串中,也可能不在字符串中。$title
来自$module->title
joomla 模块标题名称。我们的弦。$split_color
我控制模块的$subtitle
不同样式的开/关。
$title = $module->title;
$split_color = 1;
$subtitle = 1;
// split title in two colors
if ($split_color) {
$pos = mb_strpos($title, '#|');
if ($pos !== false) {
$title = '<span class="color">'.mb_substr($title, 0, $pos).'</span>'.'<span class="no-color">'.mb_substr($title, $pos + 2).'</span>';
}
}
if ($split_color) {
$pos = mb_strpos($title, '|#');
if ($pos !== false) {
$title = '<span class="no-color">'.mb_substr($title, 0, $pos).'</span>'.'<span class="color">'.mb_substr($title, $pos + 2).'</span>';
}
}
// create subtitle
if ($subtitle) {
$pos = mb_strpos($title, '||');
if ($pos !== false) {
$title = '<span class="title">'.mb_substr($title, 0, $pos).'</span>'.'<span class="subtitle">'.mb_substr($title, $pos + 2).'</span>';
}
}
字符串是简单的纯文本名称,可以用分隔符分隔 例如:
Text 1 |# Text 2 || Text 3 #| Text 4
我的问题是如何做到这一点才能一起工作。
' ||
' - 将字符串分成两部分,左边部分必须在<span class="title"></span>
,右边部分必须在<span class="title"></span>
。例如:
字符串 1:Text 1 Text 2 || Text 3 Text 4
结果1:
<span class="title">Text 1 Text 2</span>
<span class="subtitle">Text3 Text4</span>
' #|
' - 将字符串分成两部分,左边部分放在中间<span class="color"></span>
,右边部分放在中间<span class="no-color"></span>
。例如:
字符串 2:Text 1 Text 2 #| Text 3 Text 4
结果 2:
<span class="color">Text 1 Text 2</span>
<span class="no-color">Text3 Text4</span>
' |#
' - 将字符串分成两部分,左边部分放在中间<span class="no-color"></span>
,右边部分放在中间<span class="color"></span>
。例如:
字符串 2:Text 1 Text 2 |# Text 3 Text 4
结果 2:
<span class="no-color">Text 1 Text 2</span>
<span class="color">Text3 Text4</span>
但可以一次使用所有分隔符。
字符串 3:Text 1 #|Text 2 || Text 3 |# Text 4
结果 3:
<span class="title">
<span class="color">Text 1</span>
<span class="no-color">Text2</span>
</span>
<span class="subtitle">
<span class="no-color">Text 3</span>
<span class="color">Text4</span>
</span>
所有可能的字符串示例:
字符串 a:Text 1 Text 2 Text 3 Text 4
字符串 b:Text 1 Text 2 || Text 3 Text 4
字符串 c:Text 1 Text 2 #| Text 3 Text 4
字符串 d:Text 1 Text 2 |# Text 3 Text 4
字符串 e:Text 1 #|Text 2 || Text 3 Text 4
字符串 f:Text 1 Text 2 || Text 3 |# Text 4
字符串 g:Text 1 |#Text 2 || Text 3 Text 4
字符串 h:Text 1 Text 2 || Text 3 #| Text 4
字符串 i:Text 1 #| Text 2 || Text 3 #| Text 4
字符串 j:Text 1 |# Text 2 || Text 3 |# Text 4
字符串 k:Text 1 #| Text 2 || Text 3 |# Text 4
字符串 l:Text 1 |# Text 2 || Text 3 #| Text 4
我在写的时候又发生了一件事情,我不能在字符串中使用没有 ' ' 的两个 ' #|
' 或 ' #|
' 分隔符||
,或者最好不要使用分隔符 ' |#
' 和 ' #|
' 来控制这个分隔符在<span class="color"></span>
和什么之间外面在里面<span class="no-color"></span>
。像这样的东西。
字符串:|#Text 1 #| Text |# 2 #| || Text 3 |# Text 4 #|
结果:
<span class="title">
<span class="color">Text 1</span>
<span class="no-color">Text</span>
<span class="color">2</span>
</span>
<span class="subtitle">
<span class="no-color">Text 3</span>
<span class="color">Text4</span>
</span>
我认为它会更好,但一件事是你想怎么做,第二件事是它如何用 php 编写。谢谢所有想要帮助我的人。非常感谢。