从PHP中的XML字符串中删除<br/>标签

时间:2018-03-22 07:13:53

标签: php xml wordpress strip-tags

我有一个允许用户提交的XML文件的上传表单,然后将其作为新帖子的内容插入到WordPress中。这工作正常,但是XML字符串在我要删除的每一行之后都有一个</br>标记。我查看了strip_tags但是有太多允许使用的标签。

如何在导入内容时从字符串中删除这些br元素?

function slicer_profile_submit()
{
    // if the submit button is clicked, submit
    if (isset($_POST['slicer-profile-submitted']))
    {
        $xml = simplexml_load_file($_FILES['slicer-profile']['tmp_name']) or die("Error: Cannot upload file. Please contact the administrator.");
        $contents = '<textarea rows="12">' . $xml->asXML() . '</textarea>';

        // sanitize form values
        $profile_author = sanitize_text_field( $_POST["slicer-profile-author"] );
        $profile_name = sanitize_text_field( $_POST["slicer-profile-name"] );
        $profile_model = $_POST["slicer-profile-model"];
        $profile_software = $_POST["slicer-profile-software"];

        // Create post object
        $slicer_profile = array(
            'post_title'    => $profile_name,
            'post_content'  => $contents,
            'post_type' => 'slicer_profiles',
            'post_status'   => 'publish',
            'post_author'   => 1,
            'meta_input' => array(
                'slicer_profile_author' => $profile_author
            )
        );

        // Insert the post into the database
        wp_insert_post( $slicer_profile );
    }
}

结果:

1 个答案:

答案 0 :(得分:1)

使用preg_replace从您的回复中删除不需要的字符或字符串。

它将清除你在函数中提到的字符串,并将返回输出

$properresponse = preg_replace('/&nbsp;|<br \/>/i', '', $your_string);