这可能只是一个简单的问题,但我对PHP不是很熟悉。
我在这里有一个单词列表,用<br/>标签,例如:
<div id="list">
gmail.com<br />
yahoo.com<br />
yahoo.co.jp
</div>
而且,我想把它转换成一个数组中的值列表,看起来像这个
$acceptedDomains = array('gmail.com', 'yahoo.com', 'yahoo.co.jp');
我该如何实现此输出?
我实际上需要这个来检查域电子邮件,下面是功能的工作原理:
$acceptedDomains = array('gmail.com', 'yahoo.com', 'yahoo.co.jp');
$email = $current_user->user_email;
if(in_array(substr($email, strrpos($email, '@') + 1), $acceptedDomains)) {
//if user is a member, show form.
echo $email . " is valid" . "<div>" . CFS()->get('mo_email_list') . "</div>";
}
我想将$acceptedDomains的值替换为id="list"下列出的值
尝试以下代码:
<?php
$input='<div id="list">gmail.com<br />yahoo.com<br />yahoo.co.jp</div>';
$acceptedDomains = explode("<br />", strip_tags($input, "<br>"));
print_r($acceptedDomains);
?>
输出:
数组([0]=>gmail.com[1]=>yahoo.com[2]=>yahoo.co.jp)
试试这个
<?php
$input='<div id="list">
gmail.com<br />
yahoo.com<br />
yahoo.co.jp
</div>';
$newStr=strip_tags($input, '<br>');
$acceptedDomains=explode("<br>",$newStr);
var_dump($acceptedDomains);
?>
Above Code将返回输出根据您的需要):
试试这个:
<?php
$input='<div id="list">
gmail.com<br />
yahoo.com<br />
yahoo.co.jp
</div>';
$acceptedDomains=explode("<br />", strip_tags($input, "<br>"));
print_r($acceptedDomains);
?>
您可以尝试以下代码:
<?php
$input_string = '<div id="list">gmail.com<br />yahoo.com<br />yahoo.co.jp</div>';
$strip_tag_str = strip_tags($input_string, "<br>");
echo "<pre>";
print_r(explode("<br />", $strip_tag_str));
echo "</pre>";
?>
以上代码的输出:
Array
(
[0] => gmail.com
[1] => yahoo.com
[2] => yahoo.co.jp
)
简单操作:
<?php $acceptedDomains = explode("<br />", CFS()->get('mo_email_list')); ?>
或者,如果<div id="list"></div>
也是CFS()->get('mo_email_list')
输出的一部分,则尝试:
<?php $acceptedDomains = explode("<br />", strip_tags(CFS()->get('mo_email_list'),"<br>")); ?>
请尝试以下代码。
$data = '<div id="list">
gmail.com<br />
yahoo.com<br />
yahoo.co.jp
</div>';
$newdatavar=strip_tags($input, '<br />');
$explodevar=explode("<br />",$newdatavar);
echo "<pre>";
print_r($explodevar);