/* {{{ proto string SolrUtils::queryPhrase(string unescaped) Prepares a phrase from an unescaped lucene string. */ PHP_METHOD(SolrUtils, queryPhrase) { solr_char_t *unescaped = NULL; solr_string_t sbuilder; long int unescaped_length = 0; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &unescaped, &unescaped_length) == FAILURE) { RETURN_FALSE; } if (!unescaped_length) { RETURN_NULL(); } memset(&sbuilder, 0, sizeof(solr_string_t)); solr_string_appendc(&sbuilder, '"'); solr_escape_query_chars(&sbuilder, unescaped, unescaped_length); solr_string_appendc(&sbuilder, '"'); RETVAL_STRINGL(sbuilder.str, sbuilder.len, 1); solr_string_free(&sbuilder); }
/* {{{ proto string SolrUtils::escapeQueryChars(string unescaped) Escapes the lucene string */ PHP_METHOD(SolrUtils, escapeQueryChars) { solr_char_t *unescaped = NULL; solr_string_t sbuilder; COMPAT_ARG_SIZE_T unescaped_length = 0; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &unescaped, &unescaped_length) == FAILURE) { RETURN_FALSE; } if (!unescaped_length) { RETURN_NULL(); } memset(&sbuilder, 0, sizeof(solr_string_t)); solr_escape_query_chars(&sbuilder, unescaped, unescaped_length); RETVAL_STRINGL(sbuilder.str, sbuilder.len); solr_string_free(&sbuilder); }