如何替换颜色代码字符串中的哈希标签

时间:2018-08-16 09:36:28

标签: jquery

 $(this).html($(this).html().replace( /#([a-zA-Z0-9]+)/g,'<a class="hashtag" href="' + SP_source() + '?hashtag=$1">#$1</a>'

我已经在上面尝试过,它正在替换样式中的所有哈希 我需要帮助来替换所有哈希而不替换颜色代码

当前结果:

#808000;">fvfvfvfvfvfvfvf

预期结果; fvfvfvfvfvfvfvf(具有应用的颜色)

代码:

<p>
  <span style="color: <a class=" hashtag"="" href="http://owos.lan/?hashtag=808000">
    #808000;"&gt;
    <em><strong>fvfvfvfvfvfvfvf #trends #trend2</strong></em>
  </span>
</p>

html代码:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p><span style="font-size: 18pt;">svzvzgv #trends #trends2</span></p>
</body>
</html>

js代码

 $('.text-wrapper').each(function () {
            $(this).html($(this).html().replace( /#([a-zA-Z0-9]+)/g,'<a class="hashtag" href="' + SP_source() + '?hashtag=$1">#$1</a>'
            ));
        });

1 个答案:

答案 0 :(得分:0)

您可以尝试使用negative look ahead

<?php

if (isset($_POST['submit'])) {
    $user_id = $_SESSION['user_id'];
    $user_check_query = "SELECT * FROM users WHERE id='$user_id'";
    if(isset($_POST['choice'], $_POST['choose'])){
            $choice_answer=$_POST['choice'];
            $difficulty=$_POST['choose'];
//      */$user_id = $_SESSION['user_id'];*/
            $query = "INSERT INTO answers (exercise_id_fk, student_id, difficulty_student, choice_answer) VALUES ('$id','$user_id', '$difficulty', '$choice_answer')";
            $sql=mysqli_query($conn,$query);

    }
}
?>

这也应该照顾您的3个字符的短颜色代码。如果您只想保留6个字符代码,请使用此

$(this).html($(this).html().replace( /#(?![a-fA-F0-9]{6}|[a-fA-F0-9]{3})([a-zA-Z0-9]+)/g, '<a class="hashtag" href="' + SP_source() + '?hashtag=$1">#$1</a>')