$(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;">
<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>'
));
});
答案 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>')