用PHP替换特殊的字符串部分

时间:2016-06-04 03:42:09

标签: php

我需要转换这个字符串:

Hello, i'm **super** and **tall**.

到这一个:

Hello, i'm <big>super</big> and <big>tall</big>.

所以我用这个:

$string = "Hello, i'm **super** and **tall**.";
$old = array("**", "**");
$new = array("<big>", "</big>");
$newString = str_replace($old, $new, $string);

但它不起作用。

你能帮我吗?

感谢。

2 个答案:

答案 0 :(得分:1)

你可以肯定清理一下,但这应该可以完成工作。

<?php
    $string = "Hello, i'm **super** and **tall**.";
    $pattern = '/\*{2}/';
    $replacement = '<big>';
    $result =  preg_replace($pattern, $replacement, $string);

    $pattern2 = '/\b(<big>)/';
    $replacement = '</big>';
    echo preg_replace($pattern2, $replacement, $result);
?>

我正在使用正则表达式反对数组但是,第一个正则表达式/\*{2}/寻找2 **。如果if找到2 **,它将用<big>替换它们。然后,第二个正则表达式\b(<big>)将查找所有奇数事件(或结束标记),并将其替换为相应的结束html标记。希望这有帮助!

答案 1 :(得分:0)

您需要区分开始和开始标记,以便str_replace能够以您要求的准确精度完成工作。 例如:

onBlur