如何确定计数并从结果中编辑随机数?

发布于 2024-11-10 14:47:53 字数 257 浏览 0 评论 0原文

这是我当前的 php 脚本。

$mystr = 'Hello world. The world is nice';
substr_count($mystr, 'world'); // count=2;
$mytext = preg_replace('/\b('.$mystr.')\b/i', '<b>$1</b>', $mytext);

我想随机将其中一个单词加粗。 有什么聪明的办法吗? 提前谢谢,史蒂文

this is my current php-script.

$mystr = 'Hello world. The world is nice';
substr_count($mystr, 'world'); // count=2;
$mytext = preg_replace('/\b('.$mystr.')\b/i', '<b>$1</b>', $mytext);

I want to have randomly one of the word in bold.
Is there any smart way?
Thx in advanced, Steven

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南风几经秋 2024-11-17 14:47:53

您是否想将某个特定单词(即 world)设为粗体?如果是,一种方法可能是:

function make_bold($str, $replace) {
    $words = array_intersect(str_word_count(strtolower($str), 2), $replace);
    if(count($words) > 0) {
        $rand_pos = array_rand($words);
        $str = substr_replace($str, '<b>' . $words[$rand_pos] . '</b>', $rand_pos, strlen($words[$rand_pos]));
    }
    return $str;
}

用作:

$str = make_bold($str, array('world'));

参考: str_word_countarray_intersect array_randsubstr_replace

观看演示

Are you trying to make a specific word, i.e. world bold? If yes, one way could be:

function make_bold($str, $replace) {
    $words = array_intersect(str_word_count(strtolower($str), 2), $replace);
    if(count($words) > 0) {
        $rand_pos = array_rand($words);
        $str = substr_replace($str, '<b>' . $words[$rand_pos] . '</b>', $rand_pos, strlen($words[$rand_pos]));
    }
    return $str;
}

used as:

$str = make_bold($str, array('world'));

Reference: str_word_count, array_intersect, array_rand, substr_replace

Watch a DEMO.

蓝色星空 2024-11-17 14:47:53
$mystr = 'Hello world. The world is nice';
$words = explode(' ', $mystr);
$randWordKey = rand(0, count($words));
$words[$randWordKey] = '<b>' . $words[$randWordKey] . '</b>';
$mytext = implode(' ', $words);
$mystr = 'Hello world. The world is nice';
$words = explode(' ', $mystr);
$randWordKey = rand(0, count($words));
$words[$randWordKey] = '<b>' . $words[$randWordKey] . '</b>';
$mytext = implode(' ', $words);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文