如何在php中创建像blogger一样的标签textarea(How to create label textarea like blogger in php)

编程入门 行业动态 更新时间:2024-10-27 02:30:10
如何在php中创建像blogger一样的标签textarea(How to create label textarea like blogger in php)

帮助在php中创建像blogger这样的标签文本区域。 由昏迷(,)分隔,并在昏迷后搜索单独的标签。 请帮帮我。

Help for creating label text-area like blogger in php. which separate by coma(,) and also search separate label after coma. Please help me.

最满意答案

最后我找到了我想要的东西。 这就是我想要的。

<div class="LabelBox"> <label>Label</label> <textarea id="search_Labels"></textarea> </div> <script type="text/javascript"> $(function() { function split(val) { return val.split(/,\s*/); } function extractLast(term) { return split(term).pop(); } $("#search_Labels").autocomplete({ minLength: 1, source: "search_label.php", focus: function() { // prevent value inserted on focus return false; }, open: function (event, ui) { var acData = $(this).data('ui-autocomplete'); acData .menu .element .find('a') .each(function () { var me = $(this); var keywords = acData.term.split(' ').join('|'); me.html(me.text().replace(new RegExp("(" + keywords + ")", "i"), '<b>$1</b>')); }); }, select: function(event, ui) { var term = split(this.value); // remove the current input term.pop(); // add the selected item term.push(ui.item.value); // add placeholder to get the comma-and-space at the end term.push(""); this.value = term.join(", "); return false; } }); }); </script>

现在search_label.php代码

<?php //connect to database $s = $_GET['term']; // Get term for search // use-full to split label from second label search $sa = split( ', ', ( trim( mb_substr( $s, 0, ( strrpos( $s, ',' ) ) ) ) ) ); $i = ( substr_count( $s, ',' ) > 0 ) ? 1 : 0; $s = ltrim( mb_substr( $s, ( strrpos( $s, ',' ) + $i ) ) ); $ar = ''; $i = 0; if ( $s != '' ) { $q = "SELECT `label` FROM `table_name` WHERE `label` LIKE '{$s}%' ORDER BY `label`"; $q = mysql_query( $q ); while ( $r = mysql_fetch_array( $q ) ) { if ( !in_array( $r['label'], $sa ) ) { $ar[$i] = array( "value" => "{$r['label']}" ); $i++; } } echo json_encode( $ar ); } ?>

样本输出图像

使用textarea插入多个标签的输出

At Last I found what i want. Here what i want.

<div class="LabelBox"> <label>Label</label> <textarea id="search_Labels"></textarea> </div> <script type="text/javascript"> $(function() { function split(val) { return val.split(/,\s*/); } function extractLast(term) { return split(term).pop(); } $("#search_Labels").autocomplete({ minLength: 1, source: "search_label.php", focus: function() { // prevent value inserted on focus return false; }, open: function (event, ui) { var acData = $(this).data('ui-autocomplete'); acData .menu .element .find('a') .each(function () { var me = $(this); var keywords = acData.term.split(' ').join('|'); me.html(me.text().replace(new RegExp("(" + keywords + ")", "i"), '<b>$1</b>')); }); }, select: function(event, ui) { var term = split(this.value); // remove the current input term.pop(); // add the selected item term.push(ui.item.value); // add placeholder to get the comma-and-space at the end term.push(""); this.value = term.join(", "); return false; } }); }); </script>

Now search_label.php Code

<?php //connect to database $s = $_GET['term']; // Get term for search // use-full to split label from second label search $sa = split( ', ', ( trim( mb_substr( $s, 0, ( strrpos( $s, ',' ) ) ) ) ) ); $i = ( substr_count( $s, ',' ) > 0 ) ? 1 : 0; $s = ltrim( mb_substr( $s, ( strrpos( $s, ',' ) + $i ) ) ); $ar = ''; $i = 0; if ( $s != '' ) { $q = "SELECT `label` FROM `table_name` WHERE `label` LIKE '{$s}%' ORDER BY `label`"; $q = mysql_query( $q ); while ( $r = mysql_fetch_array( $q ) ) { if ( !in_array( $r['label'], $sa ) ) { $ar[$i] = array( "value" => "{$r['label']}" ); $i++; } } echo json_encode( $ar ); } ?>

Sample output image

Output of inserting multiple label using textarea

更多推荐

本文发布于:2023-07-21 11:20:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1209767.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:标签   如何在   php   label   blogger

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!