PHP的初学者,看起来很有趣。我设法把逗号和“=>”我需要它到处都是,但我也需要在每个单词周围引用。我无法理解如何管理这部分。
我试图用字符串中的键和值来构建一个很好的数组。
这是该字符串的开头
$dummy = "ac whois.nic.ac
ae whois.aeda.net.ae
aero whois.aero
af whois.nic.af
ag whois.nic.ag
...."
我需要的是
"ac" => "whois.nic.ac",
"ae" => "whois.aeda.net.ae",
"aero" => "whois.aero",
"af" => "whois.nic.af",
"ag" => "whois.nic.ag",
到目前为止我得到了什么......
ac => whois.nic.ac,
ae => whois.aeda.net.ae,
aero => whois.aero,
af => whois.nic.af,
ag => whois.nic.ag,
在每个“/ n”
上创建一个逗号$strg = preg_replace("/(?<![.])(?=[\n\r]|$)/", ",", $dummy);
创建“=&gt;”在每个空间
$strg = str_replace(' ', ' => ', $strg);
欢呼声..
答案 0 :(得分:0)
我会在不使用preg_replace
的情况下执行此操作:
$dummy = "ac whois.nic.ac
ae whois.aeda.net.ae
aero whois.aero
af whois.nic.af
ag whois.nic.ag
....";
$lines = preg_split('[\r\n]+', $dummy, null, PREG_SPLIT_NO_EMPTY);
$lines = array_filter(array_map(function($line){
$line = trim($line);
$words = explode(" ", $line, 2);
if(count($words) !== 2) return null;
return "\"$words[0]\" => \"$words[1]\",";
}));
$output = implode("\n", $lines); // or whatever EOL it was