字符串修改

时间:2016-12-05 10:39:08

标签: javascript php jquery mysql

我从数据库中获取了列类型为TEXT的数据。假设获取的数据是一个包含一些唯一关键字的段落。

例如。

I am -b- Batman -.b-

现在-b- and -.b-打算做的是这些必须是粗体

的谎言

I am **Batman** 

我如何实现这一目标?我正在使用PHP和MySQL,如果这在jquery javascript中可以实现,请告诉

并且在数据库中它就像这样存储

I am -b- Batman -.b-

6 个答案:

答案 0 :(得分:2)

您可以将其替换为HTML-Tags。像BBCode一样。

$i = 0;
$open=array("-b-","-i-");
$close=array("-.b-","-.i-");
$openhtml=array("<b>","<i>");
$closehtml=array("</b>","</i>");

while(count($open) > i){

    if (strpos($text, $open[i]) !== false) {
        echo str_replace("$open[i]","openhtml[i]","$text");
        echo str_replace("$close[i]","closehtml[i]","$text");
    }
    i++;
}

我希望我能帮助你。

别忘了接受答案;)

答案 1 :(得分:1)

只需使用str_replace。如果你想要HTML:

$string = str_replace('-b-', '<strong>', $string);
$string = str_replace('-.b-', '</strong>', $string);

或者,如果你真的是指*个字符

$string = str_replace('-b-', '**', $string);
$string = str_replace('-.b-', '**', $string);

答案 2 :(得分:0)

我们可以做preg_matches,构建函数并做各种事情来实现你想要的。但是,由于您只想将-b--.b-替换为**,我建议您使用str_replace

$result['paragraph'] = str_replace(array('-b-', '-.b-'), "**", $result['paragraph']);

另外

如果您愿意,仍然可以使用preg_replace

$string = "There is a white -b- dog -.b- in my neighbor's garden";

$string = preg_replace("/-b-(.+?)-.b-/is", "**$1**", $string);

echo $string;

来源:

答案 3 :(得分:0)

没有whitespaceattributes然后会这样做:

&#13;
&#13;
str = 'I am -b- -i- Batman -.i- -.b- -br.-';

console.log(
  str.replace(/-\.?\w+\.?-/ig, function(n) {
  m = n
    .replace('-.', '-/')
    .replace('.-', '/-')
    .replace('-', '<');

  m = m
    .split("").reverse().join("")
    .replace('-', '>');

  m = m
    .split("").reverse().join("")

  return m;
})
)
&#13;
&#13;
&#13;

答案 4 :(得分:0)

您可以通过str_replace

简单地替换它们
$str = $result['paragraph'];
echo str_replace('-.b-', '</strong>', str_replace('-b-', '<strong>', $str));

并在javascript中:

var str = '<?php echo $result['paragraph']; ?>';
str.replace('-b-', '<strong>').replace('-.b-', '</strong>');

答案 5 :(得分:-1)

在PHP中,使用str_replace();
在Javascript中,replace();