PHP从值列表中提取单个字符串

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>

我需要一些php方面的帮助。在过去的几天里,我一直在尝试一些事情,包括stru_replace,但都没有用

我有一个字段,它可能包含1到20个值,所有值都列在它们自己的行上,该字段中没有html代码来分隔它们,并且一些值之间可能有自己的空格,因此按空格分隔不起作用

我需要的是提取每行的每个字符串并将其转换为代码

    <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','&lt;img src="images/flags/english.png&gt;,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);