Kann ich eine Suchanfrage erstellen, die ein Leerzeichen enthält?

Ich möchte über WP_Query für den Test “Hallo” einschließlich des letzten nachgestellten Leerzeichen suchen.

Ist das möglich und wenn ja, wie mache ich das?

Solutions Collecting From Web of "Kann ich eine Suchanfrage erstellen, die ein Leerzeichen enthält?"

Wenn es überhaupt möglich ist, so wird es gemacht:

 $searchquery = new WP_Query( array( 's' => 'hello ' )); 

Da alle Anfragen auf ihre grundlegendste Ebene auf WP_Query werden, können wir feststellen, ob es möglich ist, die WordPress-APIs zu verwenden, indem wir den Code in wp-includes/query.php

 // If a search pattern is specified, load the posts that match if ( !empty($q['s']) ) { // added slashes screw with quote grouping when done early, so done later $q['s'] = stripslashes($q['s']); if ( !empty($q['sentence']) ) { $q['search_terms'] = array($q['s']); } else { preg_match_all('/".*?("|$)|((?< =[\r\n\t ",+])|^)[^\r\n\t ",+]+/', $q['s'], $matches); $q['search_terms'] = array_map('_search_terms_tidy', $matches[0]); } $n = !empty($q['exact']) ? '' : '%'; $searchand = ''; foreach( (array) $q['search_terms'] as $term ) { $term = esc_sql( like_escape( $term ) ); $search .= "{$searchand}(($wpdb->posts.post_title LIKE '{$n}{$term}{$n}') OR ($wpdb->posts.post_content LIKE '{$n}{$term}{$n}'))"; $searchand = ' AND '; } if ( !empty($search) ) { $search = " AND ({$search}) "; if ( !is_user_logged_in() ) $search .= " AND ($wpdb->posts.post_password = '') "; } } // Allow plugins to contextually add/remove/modify the search section of the database query $search = apply_filters_ref_array('posts_search', array( $search, &$this ) ); 

Daraus können wir bestimmen, dass die Suchzeichenfolge in mehreren Phasen entfernt und bereinigt wird, und alle zusätzlichen Leerzeichen werden als Teil des Sanitisierungsprozesses entfernt.

Die einzige Möglichkeit, eine solche Suche durchzuführen, besteht darin, diesen process mit dem posts_search Filter zu reproduzieren, um den SQL mithilfe Ihres eigenen posts_search zu reproduzieren, aber ich empfehle dies aus Sicherheits- und Wartungsgründen dringend. Ich würde Ihnen jedes System empfehlen, das Sie haben, es wäre leichter, es neu zu gestalten, als diesen Weg einzuschlagen, und man könnte argumentieren, dass dies verantwortungslos als Entwickler und nicht trivial wäre.

Stattdessen schlage ich vor, dass Sie Ihre Suche mit einem dedizierten SQL-Tool wie Workbench und einer Abfrage ähnlich der folgenden durchführen:

 SELECT * FROM wp_posts WHERE post_content LIKE "hello " LIMIT 0,10