Nhận chuỗi trước dấu gạch ngang PHP

Đối với điều này, bạn có thể sử dụng SUBSTRING_INDEX(). Trước tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable1857
     (
     Name varchar(20)
     );
Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select * from DemoTable1857;

Điều này sẽ tạo ra đầu ra sau -

+--------------------+
| Name               |
+--------------------+
| John-Smith         |
| Brown-Chris        |
| David-Carol-Miller |
+--------------------+
3 rows in set (0.00 sec)

Đây là truy vấn để lấy tất cả các ký tự trước dấu gạch nối ký tự cụ thể −

mysql> select substring_index(Name,'-',1) Name from DemoTable1857;

Điều này sẽ tạo ra đầu ra sau -

+-------+
| Name  |
+-------+
| John  |
| Brown |
| David |
+-------+
3 rows in set (0.00 sec)

Nhận chuỗi trước dấu gạch ngang PHP


Nhận chuỗi trước dấu gạch ngang PHP

Hàm này hoạt động theo cách đệ quy, có nghĩa là nó sẽ tìm kiếm tất cả các lần xuất hiện của tham số đầu tiên thay vì dừng lại sau một lần xuất hiện

Xem xét ví dụ sau

$str = "php replace space with dash";
$str = str_replace(" ", "-", $str);
echo $str; // php-replace-space-with-dash

Nếu bạn đang tạo một URL, bạn cũng có thể muốn chuyển đổi chuỗi thành chữ thường

Bạn có thể gọi hàm strtolower() với chuỗi như hình bên dưới

// 👇 convert string to lowercase before replace
$str = "PHP replace Space with Dash";
$str = strtolower($str);
$str = str_replace(" ", "-", $str);
echo $str; // php-replace-space-with-dash

// 👇 shorten the code above

$str = "PHP replace Space with Dash";
$str = str_replace(" ", "-", strtolower($str));
echo $str; // php-replace-space-with-dash

Khi cần thay dấu gạch ngang bằng dấu cách, bạn chỉ cần đảo ngược 2 tham số đầu của hàm

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
0

________số 8

Bạn có thể thấy một số người khuyên dùng hàm

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
1 để thay dấu cách bằng dấu gạch ngang

Mặc dù bạn có thể làm như vậy nhưng hàm

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
1 tiêu tốn nhiều bộ nhớ và thời gian hơn để thực hiện thao tác tương tự

Chỉ sử dụng

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
1 khi bạn có nhiều dấu cách mà bạn muốn chuyển đổi thành một dấu gạch ngang như sau

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
4

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
5

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
6

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
7

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
8

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
9

mysql> select * from DemoTable1857;
0

mysql> select * from DemoTable1857;
1

mysql> select * from DemoTable1857;
2

mysql> select * from DemoTable1857;
3

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
50

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
51

mysql> insert into DemoTable1857 values('John-Smith');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('Brown-Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1857 values('David-Carol-Miller');
Query OK, 1 row affected (0.00 sec)
52

Làm cách nào để lấy trước chuỗi trong PHP?

Làm cách nào để lấy chuỗi trước ký tự PHP nhất định? .
Hàm strtok() trong PHP. Cách dễ nhất để lấy một chuỗi con trước khi xuất hiện lần đầu tiên một ký tự chẳng hạn như khoảng trắng là sử dụng hàm PHP strtok()
Hàm PHP strstr()
Hàm PHP substr()
Hàm phát nổ PHP () + danh sách ()

Làm cách nào để tách một chuỗi trước ký tự cụ thể trong PHP?

PHP. Hàm explode() . Hàm phát nổ () tách một chuỗi dựa trên dấu phân cách chuỗi, i. e. nó phân tách chuỗi bất cứ nơi nào xuất hiện ký tự phân cách.

Làm cách nào để lấy chuỗi con sau một ký tự cụ thể trong PHP?

Hàm substr() và strpos() được sử dụng để loại bỏ một phần của chuỗi sau ký tự nhất định. hàm strpos(). Hàm này dùng để tìm vị trí xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác.

Làm cách nào để tìm phiên bản cuối cùng của ký tự trong chuỗi PHP?

Hàm strrpos() tìm vị trí xuất hiện cuối cùng của một chuỗi bên trong một chuỗi khác. Ghi chú. Hàm strrpos() phân biệt chữ hoa chữ thường. chức năng liên quan. strpos() - Tìm vị trí xuất hiện đầu tiên của một chuỗi bên trong một chuỗi khác (phân biệt chữ hoa chữ thường)