Làm cách nào để thêm dấu gạch ngang vào số điện thoại trong PHP?

Rất có thể bạn đã thấy các chuỗi ký tự dài được định dạng theo mẫu trong đó có dấu cách hoặc dấu gạch ngang ở các khoảng bằng nhau sau một số ký tự cụ thể. Các chuỗi như vậy có thể là số, chữ cái hoặc chữ số

Ví dụ về các chuỗi như vậy là khóa kích hoạt sản phẩm phần mềm hoặc số mã thông báo được chuẩn bị bằng điện

ví dụ 1. Khóa sản phẩm Windows

W269N-WFGWX-YVC9B-4J6C9-T83GX

ví dụ 2. Khóa nối tiếp Photoshop CC

1045-1656-1984-6490-5561-5688

ví dụ 3. Mã thông báo trả trước điện

6664-1046-1710-0096-8674

Ví dụ 4. khóa bảo mật kaspersky

CXWPP-HYMRP-VBSPP-TP787

Vui lòng lưu ý rằng ở trên không phải là các khóa có thể sử dụng được mà chỉ nhằm mục đích trình diễn trên định dạng chung

Không có dấu gạch ngang trong đó, các mã trên sẽ rất khó đọc. Dấu gạch ngang hoặc khoảng trắng ở giữa giúp cải thiện khả năng đọc thay vì xem mã dưới dạng một khối văn bản dài

Tôi đã từng được các nhà phát triển đồng nghiệp hỏi cách định dạng chuỗi theo cách như vậy. Tôi cũng đã từng gặp phải những thách thức khi lần đầu tiên muốn thực hiện định dạng như vậy

Vì lý do đó, tôi viết bài này để giúp bạn, những người có thể tự hỏi làm thế nào để làm điều đó. Chúng tôi sẽ làm điều đó bằng cách sử dụng PHP trong bài viết này

Chúng tôi sẽ làm điều đó bằng hai phương pháp khác nhau

  1. Sử dụng các hàm str_split()implode()
  2. Sử dụng chức năng wordwrap()

1. Sử dụng các hàm str_split() và implode()

Chúng tôi sử dụng hàm str_split() để chia chuỗi của chúng tôi thành một mảng các chuỗi con có độ dài bằng nhau


đầu ra

Mảng (
  [0] => ABCD
  [1] => EFGH
  [2] =
  [3] => MNOP
  [4] => QRST
  [5] => UVWX
  [6] => YZ
)

Giải trình


str_split($string, 4)

Từ ví dụ của chúng tôi ở trên, str_split() nhận hai đối số. Đầu tiên là chuỗi chúng tôi muốn tách và thứ hai là độ dài của mỗi phần tử chuỗi con/mảng mà chúng tôi muốn tách chuỗi của mình thành

Trong trường hợp của chúng tôi, chúng tôi đã sử dụng các bảng chữ cái làm chuỗi ($string) và 4 làm độ dài của các chuỗi con. Như bạn có thể thấy từ đầu ra ở trên, chúng tôi đã tạo một mảng với mỗi chỉ mục có giá trị 4 ký tự ngoài chỉ mục cuối cùng vì chúng tôi không có nhiều ký tự hơn để tạo thành bốn ký tự

Trong ví dụ của chúng tôi, vì chúng tôi đã tách chuỗi sau mỗi ký tự thứ 4, nên chúng tôi sẽ thêm dấu gạch ngang/dấu gạch ngang sau mỗi ký tự thứ 4. Bạn có thể sử dụng bất kỳ độ dài nào khác, chẳng hạn như 2, 3, 5, v.v. tùy thuộc vào vị trí bạn muốn chèn dấu gạch ngang miễn là độ dài bạn chọn không vượt quá độ dài chuỗi

Trong trường hợp bạn không chỉ định độ dài trong hàm str_split() và chuyển chuỗi làm đối số duy nhất, chuỗi sẽ được phân tách sau mỗi ký tự theo mặc định

Bước tiếp theo sẽ là chuyển đổi mảng trở lại thành chuỗi, lần này thêm dấu gạch ngang sau ký tự thứ tư

Để đạt được điều đó, chúng ta sẽ sử dụng hàm implode()

Chúng tôi sẽ truyền hai đối số cho nó. Cái đầu tiên chỉ định ký tự nào chúng ta muốn chèn vào chuỗi mới và cái thứ hai là mảng


đầu ra

ABCD-EFGH-IJKL-MNOP-QRST-UVWX-YZ

Chúng ta có thể rút ngắn phần trên thành một dòng như bên dưới và đầu ra sẽ giống nhau


Để định dạng chuỗi của bạn, tất cả những gì bạn cần là thay thế các bảng chữ cái bằng chuỗi ký tự của bạn (có thể là số, chữ và số hoặc chữ cái), sau đó thay thế 4 bằng khoảng thời gian mà bạn muốn chèn dấu gạch ngang

Nếu bạn muốn chèn khoảng trắng hoặc ký tự khác thay vì dấu gạch ngang, chỉ cần thay dấu gạch ngang trong hàm implode() trong dấu ngoặc kép

Ghi chú. Tham gia là bí danh của Implode. Nếu bạn muốn, bạn cũng có thể sử dụng phép nối () thay cho hàm nổ ()

Sử dụng hàm wordwrap()

Đây thực sự là cách đơn giản nhất để định dạng chuỗi có dấu gạch ngang đều đặn

Hàm wordwrap() cho phép thêm (các) ký tự vào một chuỗi theo các khoảng thời gian đều đặn sau một độ dài cụ thể như trong ví dụ bên dưới. Trong ví dụ của chúng tôi, chúng tôi sẽ thêm dấu gạch ngang sau mỗi 3 ký tự trong một chuỗi số


đầu ra

123-456-789-123-456-789

Bạn nên truyền 4 đối số cho hàm wordwrap(). Đầu tiên phải là chuỗi thực, thứ hai là độ dài mà chúng ta muốn thêm (các) ký tự sau, thứ ba là ký tự mà chúng ta muốn chèn vào chuỗi trong khi thứ tư phải được đặt thành true

Làm cách nào để thêm dấu gạch ngang giữa các số trong PHP?

php $x = 1; . '-'. $x; . Save this answer.

Làm cách nào để định dạng số điện thoại trong PHP?

Định dạng số điện thoại sử dụng substr() . Để xử lý các định dạng số điện thoại khác nhau, bạn cần sử dụng biểu thức chính quy và hàm preg_replace().

Bạn có nên đặt dấu gạch ngang trong một số điện thoại?

Đáp án chính thức theo Liên minh Viễn thông Quốc tế (ITU) trong chuẩn E. 123 là số điện thoại phải sử dụng dấu cách và không có dấu gạch nối hoặc dấu gạch ngang ; .