我有一个字符串:
<?php
$a = 96.35;
$b = 96.01;
$c = ( ( floor($a * 100) - floor($b * 100) ) / 100 );
echo $c; // should see 0.34 exactly instead of 0.33999999999999
?>
如何将这些字符串转换为数组?
我需要输出:
$strings = "<p>text123456:2342345234 </p>
<p>exampletextasdasdasd::tesastasdasd </p>
<p>gov:eeeass@mmm</p>"
我的代码:
["text123456:2342345234", "exampletextasdasdasd::tesastasdasd", "gov:eeeass@mmm"]
不起作用。
答案 0 :(得分:0)
使用正则表达式/<p>([^<]+)<\/p>/
,可以在提供的字符串中获取<p></p>
之间的任何文本。在preg_match()
中使用正则表达式。
preg_match_all("/<p>([^<]+)<\/p>/", $strings, $matches);
print_r($matches[1])
结果
Array
(
[0] => text123456:2342345234
[1] => exampletextasdasdasd::tesastasdasd
[2] => gov:eeeass@mmm
)
如果要在字符串末尾删除多余的空格,可以改用/<p>(\S+)\s?<\/p>/
模式,也可以结合使用trim()
和array_map()
$res = array_map('trim', $matches[1]);
在demo中查看结果
答案 1 :(得分:0)
尝试以下操作...
$strings = "<p>text123456:2342345234 </p><p>exampletextasdasdasd::tesastasdasd </p><p>gov:eeeass@mmm</p>";
$strings = str_replace('<p>', '', $strings);
$array = explode('</p>', $strings);
/* to trim the strings */
$array = array_map(function($string){ return trim($string); }, $array);