PHP从值列表中提取单个字符串
我需要一些php方面的帮助。在过去的几天里,我一直在尝试一些事情,包括stru_replace,但都没有用 我有一个字段,它可能包含1到20个值,所有值都列在它们自己的行上,该字段中没有html代码来分隔它们,并且一些值之间可能有自己的空格,因此按空格分隔不起作用 我需要的是提取每行的每个字符串并将其转换为代码PHP从值列表中提取单个字符串,php,string,str-replace,Php,String,Str Replace,我需要一些php方面的帮助。在过去的几天里,我一直在尝试一些事情,包括stru_replace,但都没有用 我有一个字段,它可能包含1到20个值,所有值都列在它们自己的行上,该字段中没有html代码来分隔它们,并且一些值之间可能有自己的空格,因此按空格分隔不起作用 我需要的是提取每行的每个字符串并将其转换为代码 <p>For example, my field with values looks like this: </p> <p><b>
<p>For example, my field with values looks like this: </p>
<p><b>lang_fld </b><br>
------
<br>
English<br>
Spanish<br>
German<br>
French</p>
例如,带有值的“我的字段”如下所示:
lang_fld
------
英语
西班牙语
德语
法语的
我想的是从字符串中提取每一行,例如“English”,并创建一行代码,如
<img src="images/flags/english.png> English
英语
基本上,我想在单词中添加标志图形
我已经试过了
echo str_replace('English','<img src="images/flags/english.png>,lang_fld)<br>
...and so on
echo str_替换('English','img src=“images/flags/English.png,lang_fld)
等等
经过每一个可能的值之后,我得到的是一系列错误
消息(每次都不同,因为我一直在做更改-通过猜测)
有人能提供一个更简单的选项来实现这一点吗?并不是所有的20个值都会在
区域文本字段,有些可能只包含一种语言,有些包含十种语言,有些包含全部20种语言,
等等
谢谢!假设所有值都在一行中,您可以执行
explode()
将字符串转换为单独项目的数组,然后使用foreach
循环数组,并对单个项目执行任何修改。处理完项目并希望将其重新组合在一起后,可以使用内爆()
将它们组合成单个字符串
一个简短的示例(您当然可以使用for
循环,我更喜欢foreach
,因为它可以更好地显示数据的情况):$text=
“法语
意大利语
英语”;
$items=explode(“\n”,$text);//按换行符拆分(也可以使用“
”作为分隔符)
$result=array();//修改后的数据将放在这里
foreach($items作为$item)
{
//用$item做点什么
$item=“$item”;
$result[]=$item;
}
//将它们合并在一起
$text=内爆(“\n”,$result);
尝试过这个?$languages=explode(“\n”,$languages);Shadow Walker,谢谢你。你的建议很有效。我做了一些修改,但你的代码很简单。谢谢。也谢谢HemChe的输入。
$text =
"French language
Italian language
English language";
$items = explode( "\n", $text ); // Split by newline ( you can also use "<br>" as separator )
$result = array(); // Modified data will be placed here
foreach ( $items as $item )
{
// Do something with $item
$item = "<img src=\"images/flags/$item.png\"> $item";
$result[] = $item;
}
// Merge them back together
$text = implode("\n", $result);