Использование echo для печати переменной строки, ничего не показывая - PullRequest
0 голосов
/ 30 июня 2019

Я создаю эту строку:

$s = '<http://example.org/data/'.$q.'>';

где $q - параметр запроса. Проблема в том, что когда я повторяю или print_r это я ничего не получаю в результате. Также, когда я использую var_dump, я получаю только string(34) в результате. Я использовал несколько методов, таких как:

$s = "<http://example.org/data/$q>";

или

$s = "<http://example.org/data/" . $q . ">";

Но я получаю тот же результат. Та же проблема возникает, когда я повторяю это string:

$query = "PREFIX sosa: <http://www.w3.org/ns/sosa/> PREFIX ex: <http://example.org/data/> PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT ?o WHERE {" . $s . "geo:isLocationOf ?o}";

где я получаю:

PREFIX sosa: PREFIX ex: PREFIX geo: SELECT ?o WHERE {geo:isLocationOf ?o}

Возможно, проблема с использованием URL в strings.

Ответы [ 2 ]

2 голосов
/ 30 июня 2019

Пожалуйста, попробуйте это. Надеюсь, это поможет.

$q = "test-message";
$s = htmlspecialchars("< http://www.google.com/". $q ."> ");
$query = "PREFIX sosa: < http://www.w3.org/ns/sosa/> PREFIX ex: < http://example.org/data/> PREFIX geo: < http://www.w3.org/2003/01/geo/wgs84_pos#> SELECT ?o WHERE {" . $s . "geo:isLocationOf ?o}";
echo $query;
2 голосов
/ 30 июня 2019

использование echo htmlspecialchars($s);

Преобразование предопределенных символов

"<" (меньше чем) и ">" (больше чем)

к сущностям HTML с помощью функции htmlspecialchars.

Для дополнительной проверки w3c htmlspecialchars

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...