У меня есть этот кусок кода для поиска данных на Salesforce:
Код:
$campaign_name = 'A & B Campaign';
$search = 'FIND {'.$campaign_name.'} IN NAME FIELDS RETURNING CAMPAIGN(ID)';
$searchResult = $mySforceConnection->search($search);
var_dump('$searchResult: ' . print_r($searchResult, true));
Ошибка:
mismatched character '&' expecting '}'
Я пытался использовать preg_replace
, htmlentities
, Я продолжаю получать ту же ошибку, что я могу сделать, чтобы иметь возможность искать строки, содержащие &
?
Благодарю.
Вам нужен слеш, вот так: FIND {A \& B}
(кстати, это правильный поиск SOSL;))
Прокрутите вниз https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_sosl_examples.htm для получения дополнительной информации.
Не знаю, есть ли встроенная функция php, которая сделает это за вас. В худшем случае создайте свою собственную служебную функцию с str_replace
, preg_replace
и т.п.
Других решений пока нет …