将替换字符串放在括号中

时间:2017-10-31 15:34:49

标签: php str-replace

您好我想在括号中加上字符串或数字

$var = 'HELLO' ;

str_replace("$var","?????", $value);

// 我需要更改$var

$var = (HELLO)

3 个答案:

答案 0 :(得分:1)

只需将$var括在括号中:

$value = str_replace($var, "($var)", $value);

答案 1 :(得分:0)

我想我得到你所要求的。对于这个简单的任务,您只需附加括号:

$(function () {
function split(val) {
    return val.split(/,\s*/);
}

function extractLast(term) {
    return split(term).pop();
}

var cache = new Object();
var terms = new Array();

function cacheNewTerm(newTerm, results) {
    // keep cache of 10 terms
    if (terms.push(newTerm) > 10) {
        delete cache[terms.shift()];
    }
    cache[newTerm] = results;
}

$("#searchTextField")
    .on("keydown",
        function (event) {
            if (event.keyCode === $.ui.keyCode.TAB &&
                $(this).autocomplete("instance").menu.active) {
                event.preventDefault();
            }
        })
    .autocomplete({
        minLength: 2,
        source: function (request, response) {
            var term = extractLast(request.term.toLowerCase());
            if (term in cache) {
                response(cache[term]);
                return;
            } else if (terms.length) {
                var lastTerm = terms[terms.length - 1];
                console.log('LAst Term: ' + lastTerm);
                if (term.substring(0, lastTerm.length) === lastTerm) {
                    var results = new Array();
                    for (var i = 0; i < cache[lastTerm].length; i++) {
                        console.log('Total cache[lastTerm[.length] = ' +
                            cache[lastTerm].length +
                            '....' +
                            i +
                            '-' +
                            lastTerm[i]);
                        console.log('Label-' + cache[lastTerm][i]);
                        var cachedItem = cache[lastTerm][i];
                        if (cachedItem != null) {
                            if (cachedItem.toLowerCase().indexOf(term) !== -1) {
                                results.push(cache[lastTerm][i]);
                            }
                        }
                    }
                    response(results);
                    return;
                }
            }

            $.ajax({
                url: '@Url.Action("GetSearchData", "Home")',
                dataType: "json",
                contentType: 'application/json, charset=utf-8',
                data: {
                    term: extractLast(request.term)
                },
                success: function (data) {
                    cacheNewTerm(term, data);
                    response($.map(data,
                        function (item) {
                            return {
                                label: item
                            };
                        }));
                },
                error: function (xhr, status, error) {
                    alert(error);
                }
            });
        },
        search: function () {
            var term = extractLast(this.value);
            if (term.length < 2) {
                return false;
            }
        },
        focus: function () {
            return false;
        },
        select: function (event, ui) {
            var terms = split(this.value);
            terms.pop();
            terms.push(ui.item.value);
            terms.push("");
            this.value = terms.join(", ");
            return false;
        }
    });

如果您必须使用$var = 'HELLO'; $var = '('.$var.')'; echo $var; // value is (HELLO) ,那么方法如下:

str_replace

str_replace接受三个参数。搜索,替换和主题。 search参数用于查找主题内的字符串。在这种情况下,主题和字符串是相同的($var = 'HELLO'; $var = str_replace($var, '('.$var.')', $var); echo $var; // value is (HELLO) )。替换字段是您要替换搜索的内容。在这个例子中,我们将$ var替换为自身,然后为其添加括号。

这就是我给出第一个答案的原因,因为它更简单。你只需要进行一些字符串连接,而不是用自己替换变量。

答案 2 :(得分:-3)

你需要使用substr_replace而不是str_replace然后你会有这样的东西(对于我建议使用sizeof($ var)而不是实数的位置):

$var = substr_replace($var, '(', 0, 0);
$var = substr_replace($var, ')', 6, 0);
相关问题